
package com.efast.dmom.mes.aspect;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

import com.efast.dmom.mes.entity.base.BaseEntity;
import com.efast.dmom.mes.util.IdUtil;
import com.efast.dmom.mes.util.SpringWebUtils;
import com.efast.dmom.mes.util.TimeUtil;



@Component
@Aspect
public class SetValueAspect {
//	@Pointcut("execution(* com.efast.dmom.mes.datahandlers.entity.CustomerHandler.save(..)) && args(obj) && @annotation(com.efast.dmom.mes.aspect.SetBaseFieldsValue)")
//    public void pointCut() {
//
//    }
	
	@Before("execution(*  com.efast.dmom.mes.dao.base.BaseEntityDao.save(..)) && args(entity) && @annotation(com.efast.dmom.mes.aspect.SetBaseFieldsValue)")
	public void setBaseEntityValue( BaseEntity  entity) {
		
		entity.setSiteId(IdUtil.getSiteId());
		entity.setCreationTime(TimeUtil.getLocalDateTime());
		entity.setCreationTimeZone(TimeUtil.getLocalTimeZone());
		entity.setCreator(SpringWebUtils.getRequestUser());
		entity.setLastModifiedTime(TimeUtil.getLocalDateTime());
		entity.setLastModifiedTimeZone(TimeUtil.getLocalTimeZone());
		entity.setLastModifier(SpringWebUtils.getRequestUser());
		entity.setCreationPid(IdUtil.getDmomPid());
		entity.setLastModifiedPid(IdUtil.getDmomPid());
		entity.setRowStatus(1);
		entity.setRowTrxId(IdUtil.getTrxId());

	}

}